home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / Miscellaneous Disk Images / Apple II Getting down to Basic / NUMERIC2.bas < prev    next >
Encoding:
BASIC Source File  |  1988-02-17  |  17.9 KB  |  171 lines

  1. 0  ONERR  GOTO 1661
  2. 1  LET IN$ = "X": TEXT : HOME :TT = 0:BT = 24:M = 0: GOSUB 641: GOSUB 631: GOSUB 761: HOME :F$ = "NUMERIC2.TEXT": GOSUB 1631:TT = 0:BT = 12: GOSUB 751: GOSUB 691:ET = 1:TT(1) = 16:BT(1) = 24:W(1) = 38:B(1) = 10:T(1) = 3:L(1) = 1:IV = 17: GOSUB 1571:TT = 19:BT = 24: GOSUB 761: VTAB 19:SN = 2: GOSUB 901: GOSUB 931:TT = 0:BT = 12: GOSUB 691: VTAB 5: HTAB 9: PRINT NAME$".":ET = 1
  3. 11 TT = 20:BT = 24: GOSUB 761: VTAB 20:CP = 1: HTAB 2: CALL  -958: GOSUB 801:W = 38:B = 9:T = 3:L = 1:X = 1: GOSUB 1241:BS = X: ON E = 1 GOTO 31
  4. 21 EP = X: GOSUB 1471
  5. 31  IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should type only one number": PRINT "without letters or characters": PRINT "here.  Please try again.": GOTO 11
  6. 41  IF  LEN( MID$ (AN$,EP)) >8  THEN  GOSUB 771: PRINT "The computer can handle large": PRINT "numbers, but please pick a number": PRINT "less than 8 characters long for": PRINT "now.  Try again.": GOTO 11
  7. 45 VA(3) =  VAL( MID$ (AN$,EP))
  8. 51  VTAB 21: GOSUB 961: PRINT VA(3):TT = 0:BT = 12: GOSUB 691: GOSUB 551:TT = 12:BT = 24: GOSUB 751: VTAB 13:SN = 1: GOSUB 901: GOSUB 931: GOSUB 961: GOSUB 991: GOSUB 1121:TT = 0:BT = 12: GOSUB 761: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551:W = 38:B = 9:T = 3:L = 1:ET = 1
  9. 61 TT = 13:BT = 24: GOSUB 761:SN = 2:SV = 13: GOSUB 881: VTAB 19: CALL  -958: HTAB 1: GOSUB 901:TT = 0:BT = 12: GOSUB 751: GOSUB 771: PRINT "First, the PRINT statement on": PRINT "line 10 tells you what to do.": GOSUB 551
  10. 71 TT = 13:BT = 24: GOSUB 761:SV = 13: GOSUB 891:SV = 14: GOSUB 881: VTAB 20: HTAB 1: GOSUB 931:TT = 0:BT = 12: GOSUB 771: PRINT "Then the INPUT statement waits": PRINT "for you to type a number.  Go": PRINT "ahead, type a number."
  11. 81 TT = 20:BT = 24: GOSUB 761: VTAB 20:CP = 1: HTAB 2: CALL  -958: GOSUB 801:W = 38:B = 9:T = 3:L = 1:X = 1: GOSUB 1241:BS = X: ON E = 1 GOTO 91:EP = X: GOSUB 1471
  12. 91  IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should type only one number": PRINT "without letters or characters": PRINT "here.  Please try again.": GOTO 81
  13. 101  IF  LEN( MID$ (AN$,EP)) >10  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "The computer can handle large": PRINT "numbers, but please pick a number": PRINT "less than 10 characters long for": PRINT "now.  Try again.": GOTO 81
  14. 105 VA(3) =  VAL( MID$ (AN$,EP))
  15. 111 TT = 13:BT = 24: GOSUB 761:SV = 14: GOSUB 891:SV = 15: GOSUB 881: VTAB 21: HTAB 1: GOSUB 961:TT = 0:BT = 12: GOSUB 771: PRINT "Then the PRINT statement on": PRINT "line 30 prints....": GOSUB 551
  16. 121 TT = 13:BT = 24: GOSUB 761:SV = 15: GOSUB 891:SV = 16: GOSUB 881: VTAB 22: HTAB 1: PRINT VA(3):TT = 0:BT = 12: GOSUB 771: PRINT "Line 40 causes the number you": PRINT "stored in variable N to be": PRINT "printed...": GOSUB 551
  17. 131 TT = 13:BT = 24: GOSUB 761:SV = 16: GOSUB 891:SV = 17: GOSUB 881:TT = 0:BT = 12: GOSUB 771: PRINT "and line 50 causes the program": PRINT "to end.  Would you like to go": PRINT "over that again? (Y/N)"
  18. 141 CP = 1: VTAB 6: HTAB 23: CALL  -958: GOSUB 801: GOSUB 601: IF E = 1  THEN 141
  19. 151 TT = 13:BT = 24: GOSUB 761:SV = 17: GOSUB 891: IF  ASC(AN$) = 89  THEN ET = 1: GOTO 61
  20. 161 TT = 0:BT = 24: GOSUB 751:BT = 15: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691:TT = 12:BT = 24: GOSUB 761: VTAB 13: HTAB 1:SN = 1: GOSUB 1011: GOSUB 1041: GOSUB 1071: GOSUB 1101: GOSUB 1121: PRINT : VTAB B: GOSUB 551: VTAB 1:TT = 0:BT = 12: GOSUB 761: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691
  21. 171 CP = 1: VTAB 6: HTAB 12: CALL  -958: GOSUB 801: GOSUB 601: IF E = 1  THEN 171
  22. 181  IF  ASC(AN$) = 78  THEN 261
  23. 191 W = 38:B = 10:T = 3:L = 1:TT = 13:BT = 24: GOSUB 761:SN = 2:SV = 13: GOSUB 881: VTAB 19: CALL  -958: HTAB 1: GOSUB 1011:TT = 0:BT = 12: GOSUB 771: PRINT "First, the PRINT statement on": PRINT "line 10 tells you what to do.": GOSUB 551
  24. 201 TT = 13:BT = 24: GOSUB 761:SV = 13: GOSUB 891:SV = 14: GOSUB 881: VTAB 20: HTAB 1: GOSUB 1041:TT = 0:BT = 12: GOSUB 771: PRINT "Then the INPUT statement waits": PRINT "for you to type in your name.": PRINT "Go ahead, type in your name.":ET = 1
  25. 211 TT = 20:BT = 24: GOSUB 761: VTAB 20:CP = 1: HTAB 2: CALL  -958: GOSUB 801:W = 38:B = 10:T = 3:L = 1:X = 1: GOSUB 1241:BS = X:VA$(3) =  MID$ (AN$,BS): IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should type your name here.": PRINT "Please try again.": GOTO 211
  26. 221  IF  LEN(VA$(3)) >10  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "The computer can handle large": PRINT "strings, but please pick a name": PRINT "less than 10 characters long for": PRINT "now.  Try again.": GOTO 211
  27. 231 TT = 13:BT = 24: GOSUB 761:SV = 14: GOSUB 891:SV = 15: GOSUB 881: VTAB 21: HTAB 1: GOSUB 1071:TT = 0:BT = 12: GOSUB 761: GOSUB 771: PRINT "Then the PRINT statement on": PRINT "line 30 prints....": GOSUB 551
  28. 241 TT = 13:BT = 24: GOSUB 761:SV = 15: GOSUB 891:SV = 16: GOSUB 881: VTAB 22: HTAB 1: PRINT VA$(3):TT = 0:BT = 12: GOSUB 771: PRINT "Line 40 causes the name you": PRINT "stored in variable N$ to be ": PRINT "printed...": GOSUB 551
  29. 251 TT = 13:BT = 24: GOSUB 761:SV = 16: GOSUB 891:SV = 17: GOSUB 881:TT = 0:BT = 12: GOSUB 771: PRINT "and line 50 causes the program": PRINT "to end. Isn't that simple!"
  30. 255  GOSUB 551::TT = 12:BT = 24: GOSUB 761:SV = 17: GOSUB 891: VTAB 24: PRINT : PRINT : PRINT 
  31. 261 TT = 0:BT = 12: GOSUB 751: GOSUB 691:ET = 1
  32. 271 TT = 20:BT = 24: GOSUB 751: GOSUB 761: VTAB 21:CP = 0: GOSUB 801:W = 38:B = 9:T = 3:L = 1:X = 1: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "You must type NEW and": PRINT "press RETURN to clear memory.": PRINT "Please try again.": GOTO 271
  33. 281  IF  MID$ (AN$,X,3) < >"NEW"  THEN  GOSUB 771: PRINT "You typed " MID$ (BU$,BS)".": PRINT "NEW is the command you should use": PRINT "to clear memory.": PRINT "Please try again.": GOTO 271
  34. 291 X = X +2: GOSUB 1401: ON E = 1 GOTO 271
  35. 301 TT = 0:BT = 24: GOSUB 751:BT = 12: GOSUB 761: GOSUB 691: VTAB 6: HTAB 7: PRINT NAME$".": GOSUB 551:TT = 12:BT = 24: GOSUB 761: VTAB 13:SN = 1: GOSUB 1131: GOSUB 1161: PRINT : GOSUB 1191: GOSUB 1211: GOSUB 1121:TT = 0:BT = 12: GOSUB 761: GOSUB 691: GOSUB 551: GOSUB 691:ET = 1
  36. 311 TT = 18:BT = 24: GOSUB 751: GOSUB 761: VTAB 20: GOSUB 801:W = 38:B = 11:T = 3:L = 1:X = 1:TT = 0:BT = 12: GOSUB 761: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "To cause the computer to accept": PRINT "a flavor of ice cream, you must": PRINT "type 20 INPUT I$": GOTO 311
  37. 321 BS = X:SL = 2: GOSUB 1291: IF LN$ < >"20"  THEN  GOSUB 771: PRINT "You should start this INPUT": PRINT "statement by typing 20.  Please": PRINT "try again.": GOTO 311
  38. 331 X = X +2: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should follow the line": PRINT "number with INPUT I$.  Please": PRINT "try again.": GOTO 311
  39. 341  GOSUB 1341: ON E = 1 GOTO 311: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should type INPUT and": PRINT "follow it with the name of the": PRINT "correct variable (I$).": GOTO 311
  40. 351  IF  MID$ (AN$,X,1) =  CHR$(34)  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You shouldn't use quotation": PRINT "marks with the INPUT statement.": PRINT "Please try again.": GOTO 311
  41. 361 SL =  LEN(AN$): FOR Y =  LEN(AN$) TO X  STEP  -1: IF  MID$ (AN$,Y,1) = " "  THEN SL = SL -1
  42. 371  IF  MID$ (AN$,Y,1) < >" "  THEN Y = X
  43. 381  NEXT Y:VA$(3) =  MID$ (AN$,X,SL -X +1): IF VA$(3) < >"I$"  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You must use the variable name I$": PRINT "to get the INPUT statement to": PRINT "work.  Please try again.": GOTO 311
  44. 391 TT = 0:BT = 12: GOSUB 751: GOSUB 691:ET = 1:TT(1) = 22:BT(1) = 24:W(1) = 38:B(1) = 10:T(1) = 3:L(1) = 1:IV = 23: GOSUB 1601:TT = 11:BT = 24: GOSUB 761: VTAB 24: PRINT : GOSUB 1131: GOSUB 1161: PRINT " 20 INPUT I$": GOSUB 1191: GOSUB 1211: GOSUB 1121: PRINT : PRINT : PRINT : PRINT : PRINT : PRINT :TT = 0:BT = 11: GOSUB 751: GOSUB 691:ET = 1
  45. 401 TT(1) = 18:BT(1) = 24:W(1) = 38:B(1) = 10:T(1) = 3:L(1) = 1:IV = 19: GOSUB 1571:T = 3:B = 9:L = 1:W = 38:ET = 1: VTAB 19:SN = 2: GOSUB 1131: GOSUB 1161: PRINT " ?":TT = 0:BT = 11: GOSUB 751: GOSUB 771: PRINT "Go ahead, ";NAME$".": PRINT "Type in your favorite flavor of": PRINT "ice cream.":ET = 1
  46. 411 TT = 21:BT = 24: GOSUB 761: VTAB 21:CP = 1: HTAB 3: CALL  -958: GOSUB 801:W = 38:B = 9:T = 3:L = 1:X = 1: GOSUB 1241:BS = X:VA$(4) =  MID$ (AN$,BS): IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You should type your favorite": PRINT "flavor now.  Try again.": GOTO 411
  47. 421  IF  LEN(VA$(4)) >20  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "The computer can handle large": PRINT "strings, but please pick a flavor": PRINT "less than 20 characters long for": PRINT "now.  Try again.": GOTO 411
  48. 431 TT = 11:BT = 24: GOSUB 761: VTAB 22: HTAB 1: PRINT " "VA$(4): GOSUB 1211:TT = 0:BT = 11: GOSUB 751: GOSUB 691
  49. 441 CP = 1: VTAB 7: HTAB 21: CALL  -958: GOSUB 801: GOSUB 601: IF E = 1  THEN 441
  50. 451  IF  ASC(AN$) = 78  THEN 541
  51. 461 ET = 1
  52. 471 W = 38:B = 9:T = 3:L = 1:TT = 11:BT = 24: GOSUB 761:SV = 12: GOSUB 881:SV = 13: GOSUB 881:SV = 19: GOSUB 881:SV = 20: GOSUB 881:TT = 0:BT = 11: GOSUB 761: GOSUB 771: PRINT "First, the PRINT statements on": PRINT "lines 10 and 15 print.": GOSUB 551
  53. 481 TT = 11:BT = 24: GOSUB 761:SV = 12: GOSUB 891:SV = 13: GOSUB 891:SV = 19: GOSUB 891:SV = 20: GOSUB 891:SV = 14: GOSUB 881:SV = 21: GOSUB 881:TT = 0:BT = 11: GOSUB 761: GOSUB 771: PRINT "When the program executes line 20": PRINT "it types a ? and waits for you": PRINT "to input your favorite flavor.": PRINT "You typed ";VA$(4)".": GOSUB 551
  54. 491 TT = 11:BT = 24: GOSUB 761:SV = 14: GOSUB 891:SV = 21: GOSUB 891:SV = 15: GOSUB 881:SV = 22: GOSUB 881:TT = 0:BT = 11: GOSUB 761: GOSUB 771: PRINT "Then it prints the contents": PRINT "of variable I$ because of line 30.": GOSUB 551:TT = 11:BT = 24: GOSUB 761:SV = 15: GOSUB 891:SV = 22: GOSUB 891:SV = 16: GOSUB 881:SV = 23: GOSUB 881
  55. 501 TT = 0:BT = 11: GOSUB 761: GOSUB 771: PRINT "Finally, the PRINT statement": PRINT "from line 40 prints...": GOSUB 551
  56. 511 TT = 11:BT = 24: GOSUB 761:SV = 16: GOSUB 891:SV = 23: GOSUB 891:SV = 17: GOSUB 881:TT = 0:BT = 11: GOSUB 761: GOSUB 771: PRINT "...and the program ends.": PRINT "Would you like to see the": PRINT "program explained again? (Y/N)"
  57. 521 CP = 1: VTAB 6: HTAB 31: CALL  -958: GOSUB 801: GOSUB 601: IF E = 1  THEN 521
  58. 531 TT = 11:BT = 24: GOSUB 761:SV = 17: GOSUB 891: IF  ASC(AN$) = 89  THEN ET = 1: GOTO 471
  59. 541 TT = 0:BT = 24: GOSUB 751:BT = 15: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: GOSUB 551: GOSUB 691: POKE 933,1: GOSUB 551: GOSUB 1641:TT = 0:BT = 24: GOSUB 751: PRINT : PRINT  CHR$(4);"RUN RUNMENU": END 
  60. 551  POKE  -16368,0
  61. 561 P =  PEEK( -16384):TE = TE +1: ON P = 155 GOTO 1651: ON P < >13 GOTO 571: IF TE <225  THEN 561
  62. 571  IF P = 141  THEN TE = 0: CALL  -998: RETURN 
  63. 581 M$ = "Press RETURN": GOSUB 591: FOR Z = 1 TO 700: NEXT Z:M$ = "_____________": GOSUB 591: FOR Z = 1 TO 700: NEXT Z: GOTO 561
  64. 591  VTAB B: HTAB M +(((W -L) - LEN(M$))/2): PRINT M$;: RETURN 
  65. 601 E = 0: IF AN$ = ""  THEN E = 1: RETURN 
  66. 611  IF  ASC(AN$) < >89  AND  ASC(AN$) < >78  THEN E = 1
  67. 621  RETURN 
  68. 631  PRINT  CHR$(4);"OPEN CALLNAME": PRINT  CHR$(4);"READ CALLNAME": INPUT NA$: PRINT  CHR$(4);"CLOSE CALLNAME": RETURN 
  69. 641  PRINT : PRINT  CHR$(4);"OPEN CAT.NAME": PRINT  CHR$(4);"READ CAT.NAME"
  70. 651  GET I$: IF I$ < >"@"  THEN I$(1) = I$(1) +I$: GOTO 651
  71. 661  PRINT  CHR$(4);"CLOSE CAT.NAME": RETURN 
  72. 671  POKE 34,T -2: POKE 35,B: POKE 32,L: POKE 33,W +1: HOME : FOR BD = 2 TO W -1: VTAB T -1: HTAB BD: PRINT "_";: VTAB B: HTAB BD: PRINT "_";: NEXT BD: FOR BD = T TO B: VTAB BD: HTAB 1: PRINT "|";: HTAB W: PRINT "|";: NEXT BD
  73. 681  POKE 34,T: POKE 35,B -1: POKE 32,L +2: POKE 33,W -4: HOME : RETURN 
  74. 691  PRINT  CHR$(4);"READ ";F$:S$ = "":A$ = "":NL = 1: INPUT S$: IF S$ = "%"  THEN  GOSUB 751: INPUT T,B,L,W: GOSUB 671: GOTO 721
  75. 701  IF S$ = "&"  THEN  GOSUB 681
  76. 711  FOR H = T +1 TO B -1: VTAB H: HTAB 1: CALL  -868: NEXT H
  77. 721  CALL 813:IN$ =  MID$ (IN$,1): IF IN$ = "^"  THEN 741
  78. 731  VTAB T +NL: HTAB 1:NL = NL +1: PRINT IN$;: GOTO 721
  79. 741  RETURN 
  80. 751  POKE 32,0: POKE 33,40: POKE 34,TT: POKE 35,BT: HOME : RETURN 
  81. 761  POKE 32,0: POKE 33,40: POKE 34,TT: POKE 35,BT: RETURN 
  82. 771 TT = 0:BT = 10: GOSUB 761: IF ET = 1  THEN ET = ET +1: GOSUB 671: GOTO 791
  83. 781  GOSUB 681
  84. 791  HTAB L: VTAB T +1: FOR H = T +1 TO B -1: VTAB H: HTAB 1: CALL  -868: NEXT H: VTAB T +1: RETURN 
  85. 801  PRINT  CHR$(4): POKE  -16368,0:AN$ = "": ON CP = 1 GOTO 821
  86. 811  HTAB 1: PRINT  CHR$(93);
  87. 821 R = 0: CALL 768: FOR J = 512 TO 736:X =  PEEK(J): ON X = 155 GOTO 1651: IF X = 141  THEN J = 736: GOTO 871
  88. 831  IF X = 162  THEN R = 1
  89. 841  IF R = 1  THEN 861
  90. 851 AN$ = AN$ + CHR$(X -128 -32 *(X >223)): GOTO 871
  91. 861 AN$ = AN$ + CHR$(X -128)
  92. 871  NEXT J:BU$ = AN$: RETURN 
  93. 881  VTAB SV: HTAB 1: FLASH : PRINT "*";: NORMAL : RETURN 
  94. 891  VTAB SV: HTAB 1: PRINT " ";: RETURN 
  95. 901  IF SN = 1  THEN  HTAB 2: PRINT "10 PRINT "; CHR$(34);"PLEASE PICK A NUMBER"; CHR$(34)
  96. 911  IF SN = 2  THEN  PRINT "PLEASE PICK A NUMBER"
  97. 921  RETURN 
  98. 931  IF SN = 1  THEN  HTAB 2: PRINT "20 INPUT N"
  99. 941  IF SN = 2  THEN  PRINT "?"
  100. 951  RETURN 
  101. 961  IF SN = 1  THEN  HTAB 2: PRINT "30 PRINT "; CHR$(34);"YOUR FAVORITE NUMBER IS:"; CHR$(34)
  102. 971  IF SN = 2  THEN  PRINT "YOUR FAVORITE NUMBER IS:"
  103. 981  RETURN 
  104. 991  IF SN = 1  THEN  HTAB 2: PRINT "40 PRINT N"
  105. 1001  RETURN 
  106. 1011  IF SN = 1  THEN  HTAB 2: PRINT "10 PRINT " CHR$(34);"WHAT IS YOUR NAME"; CHR$(34)
  107. 1021  IF SN = 2  THEN  PRINT "WHAT IS YOUR NAME"
  108. 1031  RETURN 
  109. 1041  IF SN = 1  THEN  HTAB 2: PRINT "20 INPUT N$"
  110. 1051  IF SN = 2  THEN  PRINT "?"
  111. 1061  RETURN 
  112. 1071  IF SN = 1  THEN  HTAB 2: PRINT "30 PRINT "; CHR$(34);"THAT'S A GREAT NAME,"; CHR$(34)
  113. 1081  IF SN = 2  THEN  PRINT "THAT'S A GREAT NAME,"
  114. 1091  RETURN 
  115. 1101  IF SN = 1  THEN  HTAB 2: PRINT "40 PRINT N$"
  116. 1111  RETURN 
  117. 1121  HTAB 2: PRINT "50 END": RETURN 
  118. 1131  IF SN = 1  THEN  HTAB 2: PRINT "10 PRINT "; CHR$(34);"WHAT'S YOUR FAVORITE"; CHR$(34)
  119. 1141  IF SN = 2  THEN  PRINT " WHAT'S YOUR FAVORITE"
  120. 1151  RETURN 
  121. 1161  IF SN = 1  THEN  HTAB 2: PRINT "15 PRINT "; CHR$(34);"FLAVOR OF ICE CREAM?"; CHR$(34)
  122. 1171  IF SN = 2  THEN  PRINT " FLAVOR OF ICE CREAM?"
  123. 1181  RETURN 
  124. 1191  IF SN = 1  THEN  HTAB 2: PRINT "30 PRINT I$"
  125. 1201  RETURN 
  126. 1211  IF SN = 1  THEN  HTAB 2: PRINT "40 PRINT "; CHR$(34)"SURE IS A GOOD FLAVOR!"; CHR$(34)
  127. 1221  IF SN = 2  THEN  PRINT " SURE IS A GOOD FLAVOR!"
  128. 1231  RETURN 
  129. 1241 E = 0
  130. 1251  IF X > LEN(AN$)  THEN E = 1: RETURN 
  131. 1261  ON  MID$ (AN$,X,1) < >" " GOTO 1281
  132. 1271 X = X +1: GOTO 1251
  133. 1281  RETURN 
  134. 1291 LN$ =  MID$ (AN$,X,SL): RETURN 
  135. 1301  ON SL > LEN(AN$) GOTO 1321: IF  MID$ (AN$,SL,1) < > CHR$(34)  THEN SL = SL +1: GOTO 1301
  136. 1311  IF  MID$ (AN$,SL,1) =  CHR$(34)  THEN  RETURN 
  137. 1321 E = 1: GOSUB 771: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "You forgot to end your statement": PRINT "with a quotation mark.  Please": PRINT "try again.": RETURN 
  138. 1331 E = 1: GOSUB 771: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "It would help for now if you": PRINT "would enclose something inside": PRINT "the quotations.  Try again.": RETURN 
  139. 1341 E = 0: IF  MID$ (AN$,X,5) = "INPUT"  THEN X = X +5: RETURN 
  140. 1351 E = 1: GOSUB 771: PRINT "You typed "; MID$ (AN$,BS);".": PRINT "You didn't use INPUT.": PRINT "Please try again.": RETURN 
  141. 1361 E = 0: IF  MID$ (AN$,X,3) = "RUN"  THEN X = X +2: RETURN 
  142. 1371 E = 1: GOSUB 771: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "You should have typed RUN.": PRINT "Please try again.": RETURN 
  143. 1381 E = 0: IF  MID$ (AN$,X,4) = "LIST"  THEN X = X +3: RETURN 
  144. 1391 E = 1: GOSUB 771: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "You should have typed LIST.": PRINT "Please try again.": RETURN 
  145. 1401 E = 0: IF X > =  LEN(AN$)  THEN 1461
  146. 1411  FOR Y = X +1 TO  LEN(AN$): IF  MID$ (AN$,Y,1) < >" "  THEN E = 1
  147. 1421  NEXT Y: IF LD = 1  AND E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "You shouldn't type anything after": PRINT "the line number if you wish to": PRINT "to delete a line.  Try again.": RETURN 
  148. 1431  IF LD = 2  AND E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "Please don't type anything after": PRINT "the program name or it will be-": PRINT "come part of the name. Try again.": RETURN 
  149. 1441  IF LD = 3  AND E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "If you type anything after the": PRINT "program name the computer will": PRINT "try to find the wrong program.": PRINT "Please try again.": RETURN 
  150. 1451  IF E = 1  THEN  GOSUB 771: PRINT "You typed "; MID$ (BU$,BS)".": PRINT "Please don't type anything after": PRINT "the command.  It will just": PRINT "complicate things.  Try again.": RETURN 
  151. 1461  RETURN 
  152. 1471  IF EP > LEN(AN$)  THEN E = 1: RETURN 
  153. 1481 E = 0: FOR Y = EP TO  LEN(AN$): IF  MID$ (AN$,Y,1) < >" "  THEN E = 2:Y =  LEN(AN$)
  154. 1491  NEXT Y: IF E < >2  THEN E = 1: RETURN 
  155. 1501 E = 0:MM = 0:PM = 0: FOR Y = EP TO  LEN(AN$): ON  ASC( MID$ (AN$,Y,1)) < >46 GOTO 1521:PM = PM +1
  156. 1511  IF  MID$ (AN$,Y,2) = ".-"  THEN EP = Y
  157. 1521  IF  ASC( MID$ (AN$,Y,1)) = 45  THEN MM = MM +1
  158. 1531  IF MM >1  OR PM >1  THEN E = 1:Y =  LEN(AN$): GOTO 1561
  159. 1541  IF  ASC( MID$ (AN$,Y,1)) = 32  THEN 1561
  160. 1551  IF  ASC( MID$ (AN$,Y,1)) <45  OR  ASC( MID$ (AN$,Y,1)) = 47  OR  ASC( MID$ (AN$,Y,1)) >57  THEN E = 1:Y =  LEN(AN$)
  161. 1561  NEXT Y: RETURN 
  162. 1571 TT = TT(1):BT = BT(1):W = W(1):B = B(1):T = T(1):L = L(1): GOSUB 751: GOSUB 761: VTAB IV: GOSUB 801:X = 1: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "Please type RUN and": PRINT "press RETURN.  Try again.": GOTO 1571
  163. 1581 BS = X: GOSUB 1361: ON E = 1 GOTO 1571: GOSUB 1401: ON E = 1 GOTO 1571
  164. 1591  RETURN 
  165. 1601 TT = TT(1):BT = BT(1):W = W(1):B = B(1):T = T(1):L = L(1): GOSUB 751: GOSUB 761: VTAB IV: GOSUB 801:X = 1: GOSUB 1241: IF E = 1  THEN  GOSUB 771: PRINT "Please type LIST and": PRINT "press RETURN.  Try again.": GOTO 1601
  166. 1611 BS = X: GOSUB 1381: ON E = 1 GOTO 1601: GOSUB 1401: ON E = 1 GOTO 1601
  167. 1621  RETURN 
  168. 1631  PRINT : PRINT  CHR$(4);"OPEN ";F$: RETURN 
  169. 1641  PRINT : PRINT  CHR$(4);"CLOSE ";F$: RETURN 
  170. 1651  POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24: GOSUB 1641: PRINT : PRINT  CHR$(4);"RUN RUNMENU"
  171. 1661  RESUME